package catalogo.dao;

//import java.util.List;

import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Repository;

import catalogo.entidades.Usuario;

@Repository
public class UsuarioDAOImpl implements UsuarioDAO 
{
	private SessionFactory sessionFactory;

	public SessionFactory getSessionFactory() {
		return sessionFactory;
	}

	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}

	@Override
	public void insertarUsuario(Usuario usuario)
	{
		getSessionFactory().getCurrentSession().save(usuario);

	}

	@Override
	public Usuario obtenerUsuarioPorId(String idusuario)
	{
		return (Usuario) getSessionFactory().getCurrentSession().createQuery("from Usuario where idUsuario=?").setParameter(0, idusuario).uniqueResult();
	 /* List usuario = getSessionFactory().getCurrentSession().createQuery("from Usuario where idUsuario=?").setParameter(0, idusuario).list();
		// TODO Auto-generated method stub
		return (Usuario)usuario.get(0);*/
	}

	@Override
	public Usuario obtenerUsuarioLogin(String username, String password) {
		
		Query query = getSessionFactory().getCurrentSession().createQuery("from Usuario where username=? and password=?");
		query.setParameter(0, username);
		query.setParameter(1, password);
		return (Usuario)query.uniqueResult(); 
		/*List usuario = getSessionFactory().getCurrentSession().createQuery("from Usuario where idUsuario=?").setString(username, password).list();
			return (Usuario)usuario.get(0);*/
	}

}
